$(document).ready(
	function(){ 
		$('#consoleDlg')[0].style.display = "none";
		
		$("#gridTable").jqGrid({   
            url:getContextPath()+"/base/qualityType/getAllQualityTypes.do",   
            datatype: "json",// "local",
            height: 350,   
            colNames:['序号','监测类别','监测项目','级别', '最大值', '最小值'],
			colModel:[
				{name:'id', index:'id', width:70, align:"left", hidden: true},
				{name:'monitorType.name', index:'monitorType.name', width:100, align:"left"},
				{name:'item.name', index:'item.name', width:100, align:"left"},
		   		{name:'name', index:'name', width:100, align:"left"},
		   		{name:'maxValue', index:'maxValue', width:100, align:"left", sortable:false},
		   		{name:'minValue', index:'minValue', width:100, align:"left", sortable:false}
			],
            sortname:'id',   
            // sortorder:'asc',
            viewrecords:true, 
            pgtext : "页 {0} 共 {1}页",
            recordtext:'记录 {0} - {1} 总记录数 {2}',  
            emptyrecords : "无数据",
            loadtext : "获取数据中...",
            rowNum: 15,//10,   
            loadonce: true,
            //rowList:[10,20,30],   
            jsonReader: { 
				repeatitems:false,   	 // 设置成false，在后台设置值的时候，可以乱序。且并非每个值都得设
				root: "rows",               // 数据行（默认为：rows）   
				total: "total",        // 总记录数   
				page: "page",            // 当前页   
				records: "records"
                //root:"dataRows",        // 数据行（默认为：rows）
                //page: "pages",    // 当前页
                //total: "totals",  // 总页数
                //records: "records",  // 总记录数
                //repeatitems : false    
            }, 
            //prmNames : {
				//search : "search",
				//rows:"pageModel.rows",
				//page:"pageModel.page",
				// sort:"page.orderBy",
				// order:"page.order"
			//}, 
            pager:"#gridPager",  
            caption: "质量类别 "
		});  
		$("#gridTable").jqGrid('navGrid','#gridPager',{edit:false,add:false,del:false});
		
		// 配置对话框
		$("#consoleDlg").dialog( {
			autoOpen : false,
			modal : true, // 设置对话框为模态（modal）对话框
			resizable : true,
			width : 600,
			buttons : { // 为对话框添加按钮
				"取消" : function() {
					$("#consoleDlg").dialog("close")
				},
				"添加" : addInfo,
				"保存" : updateInfo,
				"删除" : deleteInfo
			}
		});  
		
		//初始化对话框中的MonitorType下拉框
		$.ajax({
			type: "POST",
			url : getContextPath()+"/base/monitorType/getAllMonitorTypesObj.do", 
			data : {},
			dataType : "json",
			async : false,
			cache: false,
			error : function(textStatus, errorThrown) {
				alert("系统ajax交互错误: " + textStatus);
			},
			success : function(data, textStatus) {
				if (data != null) {
					var roleSelect = $("#consoleDlg").find("#monitorType");
					for (var i=0; i<data.length; i++) {
						//ie8不支持
						//roleSelect.append(new Option(data[i].name, data[i].id));
						roleSelect.append('<option value="'+data[i].id+'">'+data[i].name+'</option>');
					}
				}
			}
		});
		
		//初始化MonitorType的二级联动,根据MonitorType下拉框的取值val重置监测项目item的下拉框内容
		var monitorTypeSelect = $("#monitorType");
		var itemSelect = $("#item");
		monitorTypeSelect.change(function() {
			var curVal = monitorTypeSelect.val();
			if (curVal == "no") {
				itemSelect.empty();
				//ie8不支持
				//itemSelect.append(new Option("--请选择--","no"));
				itemSelect.append('<option value="'+"no"+'">'+"--请选择--"+'</option>');
			}
			else {
				$.ajax({
					type: "POST",
					url : getContextPath()+"/base/item/getItemsByMonitorTypeID.do", 
					data : {mTypeID:curVal},
					dataType : "json",
					async : false,
					cache: false,
					error : function(textStatus, errorThrown) {
						alert("系统ajax交互错误: " + textStatus);
					},
					success : function(data, textStatus) {
						if (data != null) {
							itemSelect.empty();
							//ie8不支持
							//itemSelect.append(new Option("--请选择--","no"));
							itemSelect.append('<option value="'+"no"+'">'+"--请选择--"+'</option>');
							for (var i=0; i<data.length; i++) {
								//ie8不支持
								//itemSelect.append(new Option(data[i].name, data[i].id));
								itemSelect.append('<option value="'+data[i].id+'">'+data[i].name+'</option>');
							}
						}
					}
				});
			}
		});
	}
)

		// getContextPath
		function getContextPath() {
    		var pathName = document.location.pathname;
    		var index = pathName.substr(1).indexOf("/");
    		var result = pathName.substr(0,index+1);
    		return result;
		};

		var openDialog4Adding = function() {  
			var consoleDlg = $("#consoleDlg");  
			var dialogButtonPanel = consoleDlg.siblings(".ui-dialog-buttonpane");  
			consoleDlg.find("input").removeAttr("disabled").val(""); 
			consoleDlg.find("select").removeAttr("disabled").val("no");
			consoleDlg.find("textarea").val("").removeAttr("disabled");
			dialogButtonPanel.find("button:not(:contains('取消'))").hide();  
			dialogButtonPanel.find("button:contains('添加')").show();  
			consoleDlg.dialog("option", "title", "添加质量类别 ").dialog("open");  
		};  
		
		var openDialog4Updating = function() {
			var consoleDlg = $("#consoleDlg");  
	        var dialogButtonPanel = consoleDlg.siblings(".ui-dialog-buttonpane");    
	        consoleDlg.find("input").val("").removeAttr("disabled"); 
	        consoleDlg.find("select").removeAttr("disabled");
	        consoleDlg.find("textarea").val("").removeAttr("disabled"); 
	        dialogButtonPanel.find("button:not(:contains('取消'))").hide();  
	        dialogButtonPanel.find("button:contains('保存')").show();  
	        consoleDlg.dialog("option", "title", "修改质量类别");  
	          
	        loadSelectedRowData();  
		};
		
		var openDialog4Deleting = function() {
			var consoleDlg = $("#consoleDlg");  
	        var dialogButtonPanel = consoleDlg.siblings(".ui-dialog-buttonpane");         
	        consoleDlg.find("input").attr("disabled", true); 
	        consoleDlg.find("select").attr("disabled", true); 
	        consoleDlg.find("textarea").attr("disabled", true); 
	        dialogButtonPanel.find("button:not(:contains('取消'))").hide();  
	        dialogButtonPanel.find("button:contains('删除')").show();  
	        consoleDlg.dialog("option", "title", "删除质量类别");  
	          
	        loadSelectedRowData();  
		};
		
		var loadSelectedRowData = function() {
			var selectedRowId = $("#gridTable").jqGrid("getGridParam", "selrow");
	    	//alert("selectRowID:"+selectedRowId);
	    	if (!selectedRowId) {
	    		alert("请先选择需要编辑的行!");
	    		return false;
	    	} else {
	    		var params = {"eid" : selectedRowId};
	    		// 从Server读取对应ID的JSON数据
	    		$.ajax( {
	    			type:"POST",   
	    			url : getContextPath()+"/base/qualityType/getQualityTypeByID.do",
	    			data : params,
	    			dataType : "json",
	    			//contentType: "application/json",
	    			cache : false,
	    			async:false,
	    			error : function(textStatus, errorThrown) {
						alert("系统ajax交互错误: " + textStatus.responseText);
					},
					success : function(data, textStatus) {
						// 如果读取结果成功，则将信息载入到对话框中     
						var rowData = data;
						var consoleDlg = $("#consoleDlg");

						consoleDlg.find("#selectId").val(rowData.id);
						//alert("hiddenID1:"+consoleDlg.find("#selectId").val());
						consoleDlg.find("#monitorType").val(rowData.monitorType.id).change();
						//出发后才能定位到item
						consoleDlg.find("#item").val(rowData.item.id);
						consoleDlg.find("#name").val(rowData.qlevel);
						consoleDlg.find("#MaxValue").val(rowData.maxValue);
						consoleDlg.find("#MinValue").val(rowData.minValue);
						consoleDlg.find("#remark").val(rowData.remark);
						
						// 根据新载入的数据将表格中的对应数据行一并更新一下
						var dataRow = {
								id : rowData.id, // 从Server端得到系统分配的id  
								"monitorType.name" : rowData.monitorType.name,
								"item.name" : rowData.item.name,
								name : rowData.name,
								MaxValue : rowData.maxValue,
								MinValue : rowData.minValue,
								remark : rowData.remark
						};

						$("#gridTable").jqGrid("setRowData", data.id, dataRow);

						// 打开对话框
						consoleDlg.dialog("open");
					}
	    		});
	    	}
		};
		
		var checkValid = function() {
	    	var consoleDlg = $("#consoleDlg");
	    	
	    	var MTypeID = $.trim(consoleDlg.find("#monitorType").val()); 
	    	if (MTypeID=="no") {
	    		alert("'监测类别'为必选信息");
	    		return false;
	    	}
			var itemID = $.trim(consoleDlg.find("#item").val());
			if (itemID=="no") {
	    		alert("'监测项目'为必选信息");
	    		return false;
	    	}
			var qlevel = $.trim(consoleDlg.find("#name").val());
			if (qlevel=="no") {
	    		alert("'级别'为必选信息");
	    		return false;
	    	}
	    }
		
		var addInfo = function() {
			var consoleDlg = $("#consoleDlg");

			if (checkValid()==false) return false;
			
			var MTypeID = $.trim(consoleDlg.find("#monitorType").val()); 
			var itemID = $.trim(consoleDlg.find("#item").val());
			var name = $.trim($("#name").find("option:selected").text());
			var MaxValue = $.trim(consoleDlg.find("#MaxValue").val());
			var MinValue = $.trim(consoleDlg.find("#MinValue").val());
			var remark = $.trim(consoleDlg.find("#remark").val());
			var qlevel = $.trim(consoleDlg.find("#name").val());
			
			var params = {
					"MTypeID" : MTypeID,
					"itemID" : itemID,
					"name" : name,
					"MaxValue" : MaxValue,
					"MinValue" : MinValue,
					"remark" : remark,
					"qlevel" : qlevel
			};

			var actionUrl = getContextPath()+"/base/qualityType/addQualityType.do";

			$.ajax( {
					type: "POST",
					url : actionUrl,
					data : params,
					dataType : "json",
					cache : false,
					error : function(textStatus, errorThrown) {
						alert("系统ajax交互错误: " + textStatus);
					},
					success : function(data, textStatus) {
						if (data != null) {
							var dataRow = {
									id : data.id, // 从Server端得到系统分配的id  
									"monitorType.name" : data.monitorType.name,
									"item.name" : data.item.name,
									name : data.name,
									maxValue : data.maxValue,
									minValue : data.minValue
							};

							var srcrowid = $("#gridTable").jqGrid("getGridParam",
									"selrow");

							if (srcrowid) {
								$("#gridTable").jqGrid("addRowData",
										data.id, dataRow, "before",
										srcrowid);

							} else {
								$("#gridTable").jqGrid("addRowData",
										data.id, dataRow, "first");
							}
							consoleDlg.dialog("close");

							alert("质量类别添加操作成功!");

						} else {
							alert("[监测类别、监测项目、级别]重复，添加操作失败!");
						}
					}
				});  
		};
		
		var updateInfo = function() {
			var consoleDlg = $("#consoleDlg");

			if (checkValid()==false) return false;
			
			var id = $.trim(consoleDlg.find("#selectId").val()); 
			var MTypeID = $.trim(consoleDlg.find("#monitorType").val()); 
			var itemID = $.trim(consoleDlg.find("#item").val());
			var name = $.trim($("#name").find("option:selected").text());
			var MaxValue = $.trim(consoleDlg.find("#MaxValue").val());
			var MinValue = $.trim(consoleDlg.find("#MinValue").val());
			var remark = $.trim(consoleDlg.find("#remark").val());
			var qlevel = $.trim(consoleDlg.find("#name").val());
			
			var params = {
					"id" : id,
					"MTypeID" : MTypeID,
					"itemID" : itemID,
					"name" : name,
					"MaxValue" : MaxValue,
					"MinValue" : MinValue,
					"remark" : remark,
					"qlevel" : qlevel
			};
			var actionUrl = getContextPath()+"/base/qualityType/updateQualityType.do";

			$.ajax( {
				type : "POST",
				url : actionUrl,
				data : params,
				dataType : "json",
				cache : false,
				error : function(textStatus, errorThrown) {
					alert("系统ajax交互错误: " + textStatus);
				},
				success : function(data, textStatus) {
					if (data != null) {
						var dataRow = {
								id : data.id, // 从Server端得到系统分配的id  
								"monitorType.name" : data.monitorType.name,
								"item.name" : data.item.name,
								name : data.name,
								maxValue : data.maxValue,
								minValue : data.minValue
						};
						alert("质量类别更新成功!");
						consoleDlg.dialog("close");
						$("#gridTable").jqGrid("setRowData", data.id, dataRow);
					} else {
						alert("[监测类别、监测项目、级别]重复，修改操作失败!");
					}
				}
			});
		};
		
		var deleteInfo = function() {
			var consoleDlg = $("#consoleDlg");  
			
			var r=confirm("确认要删除该信息吗？");
			if (r==false) {
				consoleDlg.dialog("close"); 
				return false;
			}
	        
			var pId = $.trim(consoleDlg.find("#selectId").val());
	        var params = {"eID" : pId};  
	        var actionUrl = getContextPath() + "/base/qualityType/deleteQualityType.do";
	        $.ajax({  
	        	type : "POST",
	            url : actionUrl,  
	            data : params,  
	            //dataType : "json",  
	            cache : false,  
	            error : function(textStatus, errorThrown) {  
	                alert("系统ajax交互错误: " + textStatus);  
	            },  
	            success : function(data, textStatus) {  
	                if (data == "success") {  
	                    $("#gridTable").jqGrid("delRowData", pId);  
	                    consoleDlg.dialog("close");  
	                    alert("质量类别删除成功!");  
	                } else {  
	                    alert("删除操作失败!");  
	                }  
	            }  
	        });  
		};